package snow

import (
	sf "github.com/bwmarrin/snowflake"
	"HeadLineNews/settings"
	"log"
	"strconv"
	"time"
)

var node *sf.Node // 初始化一个节点

func InitSnowFlake() {
	ts, err := time.Parse("2006-01-02", settings.Settings.StartTime) // 从传入的时间开始  // startTime: "2021-03-27"
	if err != nil {
		log.Fatalf("invaild time format. error: %#v\n", err)

	}
	sf.Epoch = ts.Unix() * 1000                      // 纳秒转换毫秒
	node, err = sf.NewNode(settings.Settings.NodeId) // 注册服务器ID
	if err != nil {
		log.Fatalf("init snow failed. error: %#v\n", err)
	}
}

func GetID() string {
	return strconv.FormatInt(node.Generate().Int64(), 10)
}
